1. Field of the Invention
The present invention relates to a technique of color conversion of color image data with reference to a color conversion table. More specifically the invention pertains to a technique of converting color image data expressed in a first color system into color image data in a second color system with high accuracy by referring to a reconstructed color conversion table.
2. Description of the Related Art
An image display device that displays a color image typically carries out a process of color conversion, in order to compensate for a difference between a color system adopted for generation of color image data and a color system adopted for display of the color image. For example, in the case of printing a color image, color image data are typically expressed in an RGB color system, while a printing device generally adopts a CMY color system that expresses an output color by quantities of respective color inks, cyan (C), magenta (M), and yellow (Y). In this case, conversion of the color image data expressed in the RGB color system into data expressed in the CMY color system is required to print a color image. Even when both an image data generation device and an image display device are capable of treating the color image data expressed in the RGB color system, there is often a subtle difference in color characteristics between the image display device and the image data generation device. Conversion of the color system of the generated color image data into the color system adopted in the image display device is thus often required to compensate for the difference in color characteristics and accurately reproduce the original color of the generated image data. The color conversion process converts the color system of the image data for these purposes.
The analytical technique of color conversion is extremely complicated. The color conversion process thus generally refers to a color conversion table (LUT). The following description regards color conversion of image data expressed in the RGB color system into image data expressed in the CMY color system, as an example. The procedure first divides an RGB color space into lattices, where each of lattice points expresses color image data (RGB image data) corresponding to its coordinate values. The procedure specifies CMY image data, which is expressed in the CMY color system and is obtained by conversion of the RGB image data, at each lattice point and stores a mapping of such CMY image data to the respective lattice points. The LUT (color conversion table) is a numerical table representing a mapping of converted image data in the target color system (the CMY image data in this example) to each lattice point obtained by dividing the color space in the source color system (the RGB color space in this example) into lattices. Reference to the LUT set in advance enables quick color conversion of the color image data.
The lattice points in the LUT are specified by dividing the respective coordinate axes in the color space. The number of lattice points accordingly increases as the third power of the number of divisions and significantly expands the data volume of the LUT. A method typically adopted to save the storage capacity stores an LUT having a less number of divisions to occupy a relatively small data capacity and produces an LUT having an increased number of divisions according to the requirement. Image data corresponding to newly added lattice points by the increase in number of divisions are computed by interpolation. The method may vary the positions of division to add new lattice points, instead of or in addition to the increase in number of divisions. The process of generating a new LUT from a stored LUT according to the requirements is referred to as ‘reconstruction of the LUT’ in the specification hereof. The stored LUT for reconstruction of the new LUT is referred to as the ‘reference LUT’ in the specification hereof.
In the case of reconstruction of the LUT, the higher accuracy required for the image data stored in the LUT may lower the accuracy of color conversion with the reconstructed LUT, even if the required accuracy of color conversion is assumed on the reference LUT. Even when the data computed by interpolation is a numerical value of sufficient accuracy, the numerical value is rounded in the process of writing the result of computation at each lattice point in the reconstructed LUT. This causes an error. A method of writing the results of computation with high accuracy at respective lattice points naturally decreases the rounding error in the writing process. But this undesirably expands the data volume of the reconstructed LUT. In order to solve this problem, one proposed technique carries out an encoding process to encode image data in the process of reconstructing the LUT (for example, see International Publication No. 02/32113).
The technique proposed in this cited reference multiplies each numerical value computed by interpolation by a predetermined coefficient in an area having the high accuracy required for the image data to be stored in the LUT and stores the multiplied value in the LUT. When the rounding process rounds off the figures after the decimal point in storage of each numerical value, for example, the proposed technique decouples the numerical value prior to storage. The numerical value thus keeps the accuracy of one decimal place. This technique decouples the numerical value and converts a small numerical variation in the first place after the decimal point, which is expected to be rounded in storage, into a non-rounded significant numerical variation. The stored tenfold numerical value is read out and is returned to 1/10 at any adequate timing.
The high accuracy is not required for the image data stored in the whole area of the reconstructed LUT. In printing devices like inkjet printers, when only small quantities of respective color inks are used, even a slight variation in quantity of one ink significantly changes the color expressed. High accuracy is accordingly required for the data on the quantities of respective color inks C, M, and Y. When a sufficiently large quantity of ink is used, on the other hand, the data is not required to have significantly high accuracy. The technique accordingly enhances a variation in tone value of ink quantity data in an area having small ink quantity data and requiring high accuracy, while compressing the variation in tone value of the ink quantity data in an area having large ink quantity data and requiring no high accuracy, prior to storage in the LUT. The encoding process in the specification hereof enhances the variation in tone value in areas requiring high accuracy, while compressing the variation in tone value in areas requiring no high accuracy. Combination of the encoding process with reconstruction of the LUT ensures the required accuracy of color conversion. Color-converted image data according to the reconstructed LUT has areas of the enhanced tone variation, such as areas of small ink quantities, and areas of the compressed tone variation, such as areas of large ink quantities. The color-converted image data is subjected to a predetermined conversion at an adequate timing to restore the original tone variations. In the specification hereof, the process of restoring the tone variations enhanced or compressed by the encoding process is called a ‘decoding process’. The technique described in the above cited reference ensures highly accurate color conversion of color image data without increasing the data volume of the LUT to display or print a high-quality color image.